package com.elinshaw;

public interface ThreadPool {

    /**
     * 提交任务到线程池
     *
     * @param runnable
     */
    void execute(Runnable runnable);

    /**
     * 关闭线程池
     */
    void shutDown();

    /**
     * 查看线程池是否关闭
     */
    boolean isShutDown();

    /**
     * 核心线程数
     *
     * @return
     */
    int getInitSize();

    /**
     * 核心线程数
     *
     * @return
     */
    int getCoreSize();

    /**
     * 最大线程数
     *
     * @return
     */
    int getMaxSize();

    /**
     * 任务队列大小
     *
     * @return
     */
    int getQueueSize();

    /**
     * 活跃线程数量
     *
     * @return
     */
    int getActiveCount();


}
